/*
============================================================================
 Name        : PdBitmapGc.h
 Author      : Jian(raphyer@hotmail.com)
 Version     :
 Copyright   : GPL
 Description : CPdBitmapGc declaration
============================================================================
*/

#ifndef PDBITMAPGC_H
#define PDBITMAPGC_H

// INCLUDES
#include <BITSTD.H>		// CFbsBitGc
#include <FBS.H>		// CFbsBitmap
#include <BITDEV.H>		// CFbsBitmapDevice

/**
*  CPdBitmapGc
* 
*/
class CPdBitmapGc : public CBase
{
public:

    ~CPdBitmapGc() ;

    static CPdBitmapGc* NewL(TDisplayMode aDispMode) ;

private:
    
    void _initL(TDisplayMode aDispMode) ;

public:

    inline CFbsBitGc* Gc()const{ return iBitmapContext ; }
    
    inline CFbsBitmap* Bitmap()const { return iBitmap ; } ;
    
    inline CFbsBitmapDevice* Device()const { return iBitmapDevice ; }

    static void Merge(CPdBitmapGc* aBgGc, CPdBitmapGc* aFrontGc, const TRect& aRect, TUint8 aTransparent) ;

private:
    CFbsBitmap*			iBitmap;
    CFbsBitmapDevice*	iBitmapDevice;
    CFbsBitGc*			iBitmapContext;
};

#endif // PDBITMAPGC_H

/* End of File */
